package org.jeecg.modules.engineering.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 设备事件信息表
 * @Author: jeecg-boot
 * @Date:   2019-08-20
 * @Version: V1.0
 */
@Data
@TableName("equip_event_info")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="equip_event_info对象", description="设备事件信息表")
public class EquipEventInfo {
    
	/**id*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "id")
	private String id;
	/**物业公司id*/
	private Long tenantId;
	/**设备id*/
	@Excel(name = "设备", width = 15,dicCode = "id" ,dictTable="equip_info",dicText="equip_name")
    @ApiModelProperty(value = "设备")
	@Dict(dicCode = "id" ,dictTable="equip_info",dicText="equip_name")
	private String equipId;
	/**小区/项目id*/
	@Excel(name = "小区", width = 15,dicCode = "id" ,dictTable="base_project",dicText="name")
	@ApiModelProperty(value = "小区")
	private String projectId;
	/**事件分类id*/
	@Excel(name = "事件类型", width = 15,dicCode = "id" ,dictTable="equip_event_sort",dicText="sort_name")
    @ApiModelProperty(value = "事件类型")
	@Dict(dicCode = "id" ,dictTable="equip_event_sort",dicText="sort_name")
	private String eventSortId;
	/**小区事件触发规则id*/
	private String eventTriggerId;
	/**报警级别*/
	@Excel(name = "报警级别", width = 15,dicCode = "warning_level")
	@ApiModelProperty(value = "报警级别")
	private Integer warningLevel;
	/**事件推送来源(第三方、系统自动)*/
	@Excel(name = "事件推送来源", width = 15,dicCode = "id" ,dictTable="equip_data_collector",dicText="collector_name")
    @ApiModelProperty(value = "事件推送来源")
	@Dict(dicCode = "id" ,dictTable="equip_data_collector",dicText="collector_name")
	private String eventSource;
	/**事件发生时间*/
	@Excel(name = "事件发生时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "事件发生时间")
	private Date eventTime;
	@Excel(name = "处理状态", width = 15,dicCode = "process_status")
	@ApiModelProperty(value = "处理状态")
	@Dict(dicCode = "process_status")
	private Integer processStatus;
	@Excel(name = "处理说明", width = 15)
	@ApiModelProperty(value = "处理说明")
	private String processExplain;
	@Excel(name = "处理者", width = 15,dicCode = "id" ,dictTable="sys_user",dicText="realname")
	@ApiModelProperty(value = "处理者")
	private String processBy;
	/**是否有报警事件视频*/
	@ApiModelProperty(value = "是否有报警事件视频")
	private Integer haveVedio;
	/**视频编码*/
	@ApiModelProperty(value = "视频编码")
	private String vedioSource;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
	private String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建时间")
	private Date createTime;
	/**修改人*/
	@ApiModelProperty(value = "修改人")
	private String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "修改时间")
	private Date updateTime;
	/**删除标识0-正常,1-已删除*/
	@ApiModelProperty(value = "删除标识")
	@TableLogic
	private Integer delFlag;



}
